The present invention relates to a transmission apparatus and method, a reception apparatus and method, a communication system, a recording medium, and a program. Particularly, the present invention relates to a transmission apparatus and method, a reception apparatus and method, a communication system, a recording medium, and a program that are designed to restrain the delay of data in data communication so as to realize stable data communication.
Technologies for the data distribution with the reproduction time of mass stream data, for example guaranteed have been gaining in popularity.
Routers on the Internet sometimes perform flow control in which the flow of data to be forwarded (or transferred) is monitored to lower the forward priority of a flow in which a mass of data is transmitted. With general-purpose routers, each flow of data is identified by the IP addresses of the source and destination of transmission, the transport protocol used, and the port numbers of source and destination of transmission.
One of the above-mentioned communication procedures is RTP (Real Time Protocol) procedure, for example. In the case of RTP procedure, streaming control is executed by RTSP (Real Time Streaming Protocol) when stream data is communicated between a distribution server and a client PC (Personal Computer). For data transmission control, RTCP (RTP Control Protocol) is used and moving images are forwarded by RTP. In the case of moving image forwarding technologies based on the related-art RTP, one port is used for one RTP session to realize the forwarding of moving images.
In addition, a technology was proposed in which a bit stream is divided for transmitting and receiving through different ports (refer to Patent Document 1, for example).
Further, a technology was proposed in which optimum packet communication processing in accordance with terminal performance is realized (refer to Patent Document 2, for example).
Patent Document 1: Japanese Patent Laid-open No. 2002-017637
Patent Document 2: Japanese Patent Laid-open NO. 2003-152544
In forwarding moving images in the related-art RTP procedure, each router on the Internet is monitoring the flow of data to be forwarded and executes flow control for lowering the forward priority of each flow that is transmitting a mass of data, thereby preventing the communication from excessively occupying the band.
In addition, when the buffer becomes full due to an overload state for example, each router discards received packets.
In order to cope with such a situation, if a congestion occurs due to the discard of packets on the router for example, TCP (Transmission Control Protocol) once drops the speed and then gradually raises the window size (or a communicable data amount) equivalent to multiples of packet length, thereby searching for an optimum communication rate (this is known as slow start).
The following describes congestion. In TCP for example, if data drops on a communication route, a repeat request is sent from the transmission destination to the transmission source. If data drops continuously, repeat requests also occur continuously. This will make congestion worse on communication routes, which in turn makes the drop of data worse, thereby hampering stable data forwarding. The situation in which stable data forwarding is hindered is called congestion. For example, as shown in FIG. 1, congestion takes place more or less after the start of communication. In FIG. 1, the horizontal axis represents time while the vertical axis represents the volume (in bytes) of data that is received at the transmission destination in a unit time.
To be more specific, as shown in FIG. 1, in the initial stage after the start of communication, flow control by data forward volume is not executed, so that the communication rate is maintained to a certain degree. When a certain period of time passes after the start of communication, repeat requests frequently receive from the transmission destination, so that the communication route is further crowed by repeated data and repeat requests, eventually causing a congestion as indicated by A in FIG. 1.
Therefore, if double or triple congestion occurs, it takes long time until finding an optimum communication rate, thereby making the communication slow in transmission rate. Further, if the buffering of stream data runs short due to such a situation for example, the reproduction of stream data may be discontinued, thereby hindering the smooth reproduction of stream data.
In order to avoid the above-mentioned situation, UDP (User Datagram Protocol) may be used as substitute for TCP, for example. Use of UDP provides high-speed communication because no flow control and congestion control are executed like TCP, but at the cost of a problem that the arrival of data is not guaranteed because the reliable transmission of data cannot be ensured.